package com.hrt.web.product.service.impl;

import java.sql.Timestamp;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.hrt.bean.GiftType;
import com.hrt.web.product.dao.GiftTypeWebDao;
import com.hrt.web.product.service.GiftTypeWebService;

@Transactional
@Service("giftTypeWebService")
public class GiftTypeWebServiceImpl implements GiftTypeWebService {
	@Autowired
	private GiftTypeWebDao giftTypewebdao; 
	
	/**
	 * 保存实体
	 * */
	@Override
	public void addGiftType(GiftType giftType) {
		this.giftTypewebdao.saveEntity(giftType);
		
	}
	
	/**
	 * 更新实体
	 * */
	@Override
	public void updateGiftType(GiftType giftType) {
		this.giftTypewebdao.updateEntity(giftType);
		
	}
	
	/**
	 * 删除实体
	 * */
	@Override
	public void delGiftType(Long id) {
		this.giftTypewebdao.deleteEntity(id);
		
	}

	/**
	 * 按id查询实体
	 * */
	@Override
	public GiftType getById(Long id) {
		
		return this.giftTypewebdao.getById(id);
	}

	/**
	 * 查询所有
	 * */
	@Override
	public List<GiftType> searchAll() {
		
		return this.giftTypewebdao.findAll();
	}

	/**
	 * 按是否删除查询
	 */
	@Override
	public List<GiftType> searchDelAll() {
		
		return this.giftTypewebdao.findDelAll();
	}

	/**
	 * 按id组列表查询实体
	 * */
	@Override
	public List<GiftType> getByIds(Long[] ids) {
		
		return this.giftTypewebdao.getByIds(ids);
	}

	/**分页*/
	@Override
	public Long totalCount() {
		
		return this.giftTypewebdao.totalCount();
	}

	@Override
	public List<GiftType> queryByPage(int pageIndex, int pageSize) {
		
		return this.giftTypewebdao.queryByPage(pageIndex, pageSize);
	}
	
	/**获取数据库的当前Timestamp形式的时间*/
	@Override
	public Timestamp getTimestamp() {
		
		return this.giftTypewebdao.getDate();
	}
	
	/**删除选中的数据*/
	@Override
	public void deleteById(Long[] ids) throws Exception {
		List<GiftType> delResult = giftTypewebdao.getByIds(ids);
		for (GiftType  gt: delResult) {
			gt.setIsdelete(new Integer(1));
			this.giftTypewebdao.updateEntity(gt);
		}
	}
	/**查询礼品分类子级*/
	@Override
	public List<GiftType> findDelSonById(Long id) {
		return this.giftTypewebdao.findDelSonById(id);
	}
	
	/**查询礼品分类父级*/
	@Override
	public List<GiftType> findDelParents() {
		
		return this.giftTypewebdao.findDelParents();
	}
}
